Confidentiality and integrity algorithms for encryption/decryption of telecommunication transmission and reception may be defined in standards, such as but not limited to, “3GPP TS 35.201 V4.1.0 (2001-12)”—3rd Generation Partnership Project (3GPP), Technical Specification Group Services and System Aspects, 3G Security, Specification of the 3GPP Confidentiality and Integrity Algorithms, Document 1: f8 and f9 Specification”. The document is publicly available from the 3GPP website http://www.3gpp.org.
Within the security architecture of the 3GPP system, there may be two standardized algorithms: a confidentiality algorithm f8, and an integrity algorithm f9. These algorithms (also referred to as functions, the terms being used interchangeably) may be based on the so-called KASUMI algorithm (also referred to as simply KASUMI), a block cipher that may produce a 64-bit output from a 64-bit input under the control of a 128-bit key.
The confidentiality algorithm f8 may be a stream cipher used to encrypt or decrypt blocks of data under a confidentiality key CK. The block of data may be between 1 and 20000 bits long, for example. The f8 algorithm may use KASUMI in a form of output-feedback mode as a keystream generator.
The integrity algorithm f9 may compute a 32-bit MAC (Message Authentication Code) of a given input message using an integrity key IK.
In the 3GPP standard, the length of the message for use with the f8 and f9 algorithms may vary from 64 bits to 5120 bits. The message may be divided into blocks of 64 bits. The largest message may thus comprise 80 blocks (80.times.64=5120). In the 3GPP standard, the implementation of the f8 and f9 algorithms for 80 blocks may comprise 81 KASUMI modules. There may be 16,000 (16K) gates for one KASUMI module. Accordingly, there may be 81.times.16K=1296K gates for the implementation of the f8 and f9 algorithms. This may be disadvantageously large in terms of chip size in various telecommunications systems, such as but not limited to, WCDMA (wideband code division multiple access) chipsets.
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.